/**
 * Copyright(c) by JNet Smartware Group.
 * All rights reserved. Not distribution or redistribution without
 * any permission of JNet Smartware Group.
 * 
 * @author thuc
 * 2010/03/15
 */
package vn.smartware.co.server.dao.factory;

import java.sql.Connection;
import java.util.ArrayList;

import vn.smartware.co.dto.MstRoomDTO;
import vn.smartware.co.dto.MstRoomPriceDTO;
import vn.smartware.co.forms.RegisterRoomForm;
import vn.smartware.co.framework.bean.LoginDTO;
import vn.smartware.co.framework.exception.ServerException;

/**
 * AbstractRegisterRoomDAO
 * @author thuctt
 */
@SuppressWarnings({"rawtypes"})
public abstract class AbstractRegisterRoomDAO {

	/**
	 * get room list
	 * @param form 
	 * @param user 
	 * @param conn
	 * @return ArrayList
	 * @throws ServerException
	 */
	abstract public ArrayList getRooms(RegisterRoomForm form, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * registerRoom
	 * @param room
	 * @param user
	 * @param conn
	 * @return String
	 * @throws ServerException
	 */
	abstract public String registerRoom(MstRoomDTO room, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * updateRoom
	 * @param room
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void updateRoom(MstRoomDTO room, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * deletePriceList
	 * @param roomNo
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void deletePriceList(String roomNo, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * deleteRoom
	 * @param room
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void deleteRoom(MstRoomDTO room, LoginDTO user,
			Connection conn) throws ServerException;

	/**
	 * registerPrice
	 * @param roomNo 
	 * @param price
	 * @param user
	 * @param conn
	 * @throws ServerException
	 */
	abstract public void registerPrice(String roomNo, MstRoomPriceDTO price, LoginDTO user,
			Connection conn) throws ServerException;
}
